#ifndef _Definitions_h_
#define _Definitions_h_

#include <assert.h>
#include <string>
//#include <vector>

#ifdef _MSC_VER
// used for tracing, not enabled for deployment
#include <iostream>
#include <fstream>
#endif

#include "Integer.h"
#include "Interfaces.h"
#include "OutportDynamicList.h"
#include "Xilinx.h"

using namespace std;

typedef string String;
typedef int Int32;

#ifndef _Tracers_cpp_
extern char* TraceBuffer;
extern char* DisplayBuffer;
#endif

class Color
{
private:
	const string name;

	Color(string _name) : name(_name)	
	{
	}

public:
	static Color* White;
	static Color* Gray;
	static Color* Black;
};



class ApplicationException
{
public:
	ApplicationException(string _message) : message(_message) { }
	ApplicationException() { }

private:
	string message;
};

class Debug
{
	public:
		void static Assert(bool condition)
		{
			assert(condition);
		}
};

#endif

